#ifndef _MY_SEM_H_
#define _MY_SEM_H_

#include <head.h>

// 定义共用体
typedef union semun
{
    int val;               // 信号灯的值
    struct semid_ds *buf;  // 信号灯集的状态信息
    unsigned short *array; // 信号灯集中所有信号灯的值
} semun;

/*
int sem_init(int num);
参数
    @num 信号灯的个数
返回值
    信号灯的描述符
*/
// 初始化
int Sem_init(int num);

// P 操作
void sem_P(int semid, int sem_num);

// V 操作
void sem_V(int semid, int sem_num);

// 删除信号灯
void sem_del(int semid);

#endif
